package com.attcatstudy.Thread;

/**
 * @author attcat
 * ---做一个有趣的程序员
 * @date 2022-10-31 20:38
 * @description
 * interrupt(): 将线程的中断标志位设置为true，不会停止线程
 * isInterrupted(): 判断当前线程的中断标志位是否为true，不会清除中断标志位
 * Thread.interrupted():判断当前线程的中断标志位是否为true，并清除中断标志位，重置为fasle
 */
public class ThreadInterruptTest {
    static int i = 0;

    public static void main(String[] args) {
        System.out.println("begin");
        Thread t1 = new Thread(new Runnable() {
            @Override
            public void run() {
                while (true){
                    i++;
                    System.out.println(i);
                    //Thread.interrupted() 清除中断标志位 //Thread.currentThread().isInterrupted() 不会清除中断标志位
//                    if (Thread.currentThread().isInterrupted() ) { System.out.println("不会清除中断标志位=========");
//
//                    }
                    if (Thread.interrupted() ) { System.out.println("会清除中断标志位=========");

                    }
                    if(i==10){
                        break;
                    }

                }
            }
        });

        t1.start(); //不会停止线程t1,只会设置一个中断标志位 flag=true t1.interrupt();
        t1.interrupt();
    }
}
